<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:esb="http://www.ceair.com/ESB/" targetNamespace="http://www.ceair.com/ESB/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:include schemaLocation="ESBStdReturn.xsd" />
  <xsd:complexType name="PFSMessage_Type">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="PFS" type="esb:PFS_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="PFSMessage" type="esb:PFSMessage_Type" />
  <xsd:complexType name="PFSConf_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element maxOccurs="5" name="Compartment" type="esb:PFSCompartment_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSStatusCode_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element name="CategoryCode" type="xsd:string" />
      <xsd:element name="PassengerNumber" type="xsd:int" />
      <xsd:element name="ClassIdentifier" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSTransitInfo_Type">
    <xsd:sequence>
      <xsd:element maxOccurs="5" name="TransitPassenger" type="esb:PFSCount_Type" />
      <xsd:element minOccurs="0" maxOccurs="1" name="TransitInfant" type="esb:PFSCount_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSAirportCount_Type">
    <xsd:sequence>
      <xsd:element name="DestinationAirport" type="xsd:string" />
      <xsd:element maxOccurs="unbounded" name="BoardedPassenger" type="esb:PFSCount_Type" />
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="PADPassenger" type="esb:PFSCount_Type" />
      <xsd:element minOccurs="0" name="Infant" type="esb:PFSCount_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSDestinationAirport_Type">
    <xsd:sequence>
      <xsd:element name="DestinationAirport" type="xsd:string" />
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="CategoryByStatusCode" type="esb:PFSCategoryByStatusCode_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSPassengerInfo_Type">
    <xsd:sequence>
      <xsd:element name="PassengerNumberBySurname" type="xsd:string" />
      <xsd:element name="FullName" type="xsd:string" />
      <xsd:element name="FamilyName" type="xsd:string" />
      <xsd:element name="GivenName" type="xsd:string" />
      <xsd:element name="PreferredTitle" type="xsd:string" />
      <xsd:element minOccurs="0" name="PNR" type="xsd:string" />
      <xsd:element minOccurs="0" name="FFCardCode" type="esb:PFSFFCardInfo_Type" />
      <xsd:element minOccurs="0" name="PassengerId" type="esb:PFSPassengerId_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSFFCardInfo_Type">
    <xsd:sequence>
      <xsd:element name="AirlineCode" type="xsd:string" />
      <xsd:element name="FFCardNo" type="xsd:string" />
      <xsd:element name="CardLevel" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSPassengerId_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element name="Surname" type="xsd:string" />
      <xsd:element minOccurs="0" name="FirstNameInitialsTitle" type="xsd:string" />
      <xsd:element minOccurs="0" name="FFPIdentification" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSCategory_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1" />
  </xsd:complexType>
  <xsd:group name="PFSCategory_Group">
    <xsd:choice />
  </xsd:group>
  <xsd:complexType name="PFSCount_Type">
    <xsd:sequence>
      <xsd:element maxOccurs="1" name="Count" type="xsd:int" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSFlight_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element name="FlightNumber" type="xsd:string" />
      <xsd:element minOccurs="0" name="FNPostfix" type="xsd:string" />
      <xsd:element name="DepartureDate" type="xsd:date" />
      <xsd:element name="BoardingAirport" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSResult_Type">
    <xsd:sequence>
      <xsd:element ref="esb:ESBStdReturnInfo" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="PFSResult" type="esb:PFSResult_Type" />
  <xsd:complexType name="PFSCompartment_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element name="CompartmentSeatsNumber" type="xsd:string" />
      <xsd:element name="CompartmentIdentifier" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFSCategoryByStatusCode_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element minOccurs="1" name="StatusCode" type="esb:PFSStatusCode_Type" />
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Passenger" type="esb:PFSPassengerInfo_Type" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PFS_Type">
    <xsd:sequence minOccurs="1" maxOccurs="1">
      <xsd:element name="Flight" type="esb:PFSFlight_Type" />
      <xsd:element minOccurs="0" name="Configuration" type="esb:PFSConf_Type" />
      <xsd:element minOccurs="0" name="TransitInfo" type="esb:PFSTransitInfo_Type" />
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="CountInfoByAirport" type="esb:PFSAirportCount_Type" />
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="LoadStatusByAirport" type="esb:PFSDestinationAirport_Type" />
      <xsd:element minOccurs="0" name="SharedFlightIdentifier" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>